
#include <iostream>
#include <functional>

#include <boost/thread/thread.hpp>

#include <tenacitas.log/text_file.h>
#include <tenacitas.log/level.h>
#include <tenacitas.exception/exception.h>

namespace tenacitas {
    namespace log {
        namespace test1 {

            //typedef logger<simple_text_file> logger;

            /** Why Can Not Log */
            void wcnl( const level & p_level,
                       text_file::ptr p_log,
                       const char * p_func,
                       const char * p_file,
                       int64_t p_line );


            void f0( );

            void f1( );

            void f2( );

            void f3( );

            void f4( );

            void f5( );

            void f6( );

            void f7( );

            void f8( );

            // void f9( ); // must generate compiler error

            // void f10( ); // must generate compiler error

            // void f11( ); // must generate compiler error

            // void f12( );  // must generate compiler error

            // void f13( logger && p_log ); // must generate compiler error

            void f14( text_file::ptr p_log ); 

            // void f15( ); // must generate compiler error

            // void f16( ); // must generate compiler error

            void run( );
        }
    }
}
